package com.lzj.admin.service;

import com.lzj.admin.dto.TreeDto;
import com.lzj.admin.pojo.Menu;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 菜单表 服务类
 * </p>
 *
 * @author lvyuanbo
 * @since 2021-08-10
 */
public interface IMenuService extends IService<Menu> {
    /**
     * 返回所有菜单数据
     * @return
     */
    List<TreeDto> queryAllMenus(Integer roleId);
    /**
     * @Description: 菜单列表查询接口
     * @Author: lvyuanbo
     * @Date: 2021/8/17
     */
    Map<String, Object> menuList();
    /**
     * @Description: 保存菜单
     * @Author: lvyuanbo
     * @Date: 2021/8/17
     */
    void saveMenu(Menu menu);

    /**
     * 更新菜单接口
     *
     * @param menu
     * @return
     */
    void updateMenu(Menu menu);
    /**
     * 菜单删除
     *
     * @param id
     * @return
     */
    void deleteMenuById(Integer id);

    Menu findMenuByNameAndGrade(String name, Integer grade);

    Menu findMenuByAclValue(String aclValue);

    Menu findMenuById(Integer pId);

    Menu findMenuByGradeAndUrl(String url, Integer grade);
}
